1. Technical Field
The present invention relates generally to transmission of image content in a computer network and, in particular, to a method for enabling a user of a client machine to negotiate the format of an image to be transferred to the client machine from a server in the network.
2. Description of the Related Art
The World Wide/Web is the Internet's multimedia information retrieval system. In the web environment, client machines effect transactions to web servers using the Hypertext Transfer Protocol (HTTP), which is a known application protocol providing users access to files (e.g., text, graphics, images, sound, video, etc.) using a standard page description language known as Hypertext Markup Language (HTML). HTML provides basic document formatting and allows the developer to specify “links” to other servers and files. In the Internet paradigm, a network path to a server is identified by a so-called Uniform Resource Locator (URL) having a special syntax for defining a network connection. Use of an HTML-compatible browser (e.g., Netscape Navigator or Microsoft Internet Explorer) at a client machine involves specification of a link via the URL. In response, the client makes a request to the server identified in the link and, in return, receives in return a document or other object formatted according to HTML. A collection of documents or objects supported on a web server is sometimes referred to as a web site.
Many web pages include high resolution images or graphics. When it is desired to transmit an image over the Internet, typically either the entire image is transferred or, alternatively, a smaller, low-resolution version is served. An example of a low-resolution image is a thumbnail image, which the user may review and then select to control the browser to fetch the full resolution image. Transmission of a thumbnail image instead of the full resolution image it represents conserves significant bandwidth and network resources.
It is also known in the prior art to provide software routines at both a client and a server in a distributed computer network to enable the amount of data in a graphical image that is to be transmitted (i.e. from server to client) to be customized in according with client and/or server-supplied information. Such a technique is described in U.S. Pat. No. 5,764,235 to Hunt et al. In this patent, each of the client and server include a dedicated handshake process that allows the machines to first determine whether they both support the image customization functionality. If so, then the server may then use an image customization process on images to be transmitted to the client to selectively modify the amount of data and the format of the graphical image files to be sent to the client in response to a request for the image. In performing the image customization process, the server makes use of server image control data and/or client image control data. The client image control data is data or information obtained from the client that is useful in determining both the suitable amount of data and/or format for the graphical image files to be sent. Typically, such data includes user data and client system data. The user data may include user preference, intended use, or a specific quality level. The client system data includes type of compression supported, transmission performance criteria, and equipment data (e.g., display format, printer format, or the like).
While the technique illustrated in Hunt et al. reduce image transmission time and save network bandwidth, the approach has certain disadvantages. Foremost, the technique proposed by Hunt et al. envisions that a given graphical image file be processed prior to receipt of the client request. According to the patent, the image file is processed to create a modified image file that is partitioned into various additive segments. As more and more of the segments are added together, a better quality image is created. Thus, for example, a first segment can be used for displaying the image as a high quality, thumbnail size image or a low quality, feature size image. By combining this segment with another segment, the resulting image can be used as a high quality, feature size image or a low quality, full screen size image.
Preprocessing the image in accordance with the teachings of the Hunt et al. patent effectively offsets the advantages that are otherwise achieved by sending the customized images. In particular, the generation of the custom segments consumes both processing and storage resources at the server, thus minimizing the value of the technique. In addition, the types of client image control data identified in the patent do not afford the user of the client machine sufficient flexibility to control the characteristics of the actual image transferred.
The present invention addresses these deficiencies of the prior art.